<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of RepoAuditCargosImpl
 *
 * @author EADeveloper
 */
class RepoCobrosGeneralImpl extends ReportDoc {

    function __construct() {
        $this->fields = array(array("label" => "NO. CTA.", "name" => "FK_ESTUDIANTE", "type" => ReportDoc::$TIPO_LETRA, "width" => 20),
            array("label" => "TIPO", "name" => "tcuenta", "type" => ReportDoc::$TIPO_LETRA, "width" => 20),
            array("label" => "NO. COBRO", "name" => "ID", "type" => ReportDoc::$TIPO_LETRA, "width" => 20),
            array("label" => "ESTADO", "name" => "ESTADO", "type" => ReportDoc::$TIPO_LETRA, "width" => 20),
            array("label" => "FECHA", "name" => "fecha_emision", "type" => ReportDoc::$TIPO_LETRA, "width" => 20),
            array("label" => "FORMA PAGO", "name" => "forma_pago", "type" => ReportDoc::$TIPO_LETRA, "width" => 20),
            array("label" => "MONTO", "name" => "MONTO", "type" => ReportDoc::$TIPO_NUMERICO, "width" => 20));

        $this->callbackSql = "cbSqlRepCobros"; //funcion que genera sql
        $this->callbackRow = "cbRowCobros"; //funcion para cada fila generada

        $this->paramPage = "reportes/rpt_cobros_param.php";
        $this->resultPage = "reportes/rpt_cobros_resultado.php";
        $this->rootPath = MODULES . DS;
        $this->key = "cobros";
        $this->label = "Reporte General de Recibos";
        $this->tipoEjecucion = "D";
        $this->orientacion = "P";       
    }

    /**
     *  Formatea cada linea del reporte de cobros realizados
     */
    public function cbRowCobros() {
        $r = array();
        foreach ($this->lastResult as $row) {
            $nombre = getNombreCta($row["FK_ESTUDIANTE"], $row["tcuenta"], $this->db);
            $row["NOMBRE_CTA"] = $nombre;
            $r[] = $row;
        }
    }

    public function cbSqlRepCobros() {
        $tipo = getParam("tipoconsulta");
        $codigo = getParam("codigo");
        $fini = getParam("fini");
        if (!isEmpty($fini)) {
            $fini = explode("/", $fini);
            $fini = $fini[1] . "/" . $fini[0] . "/" . $fini[2];
        }
        $ffin = getParam("fini");
        if (!isEmpty($ffin)) {
            $ffin = explode("/", $ffin);
            $ffin = $ffin[1] . "/" . $ffin[0] . "/" . $ffin[2];
        }
        if (!isEmpty($codigo)) {
            $codigo = explode("-", $codigo);
            $codigo = $codigo[0];
        }
        $w = (isEmpty($tipo) || $tipo == "3") ? "" : " AND c.TIPO='$tipo'";
        $w = isEmpty($codigo) ? $w : "$w AND c.FK_ESTUDIANTE=$codigo";
        $w = isEmpty($fini) ? $w : "$w AND pp.FECHA>='$fini'";
        $w = isEmpty($ffin) ? $w : "$w AND pp.FECHA<='$ffin'";
        $sql = "select c.FK_ESTUDIANTE,
        c.TIPO tcuenta,c.ID,c.ESTADO,
        c.FECHA fecha_emision,
        p.MONTO,f.TIPO 
        forma_pago,
        pp.FECHA fecha_pago
        from cllg_academico_cobros c,
             cllg_academico_pagos_detail p,
             cllg_academico_pagos_formas f,
             cllg_academico_pagos pp
        where c.ID=p.FK_COBRO_ID and f.FK_PAGO_ID=p.FK_PAGO_ID and pp.ID=f.FK_PAGO_ID $w
        order by c.FECHA,c.FK_ESTUDIANTE,c.TIPO";

        $this->lastQuery = $sql;
    }
  

}

?>
